1. Field of the Invention
The invention is related to computer system serial devices, and more specifically to a system allowing a computer keyboard to be hot plugged and unplugged without system interruption.
2. Description of the Related Art
Personal computer systems have historically shared a number of common elements. These included a display, a storage device, and a keyboard. These provided for the viewing, storing, and entry of data. So common were these elements, including a keyboard, that the personal computer ultimately developed by International Business Machines initially incorporated a power-on test to determine whether a keyboard was present. If the keyboard was not present or it otherwise indicated a self-test failure, the IBM PC would halt its boot process. After all, one had to have a working keyboard to input data.
The IBM PC has become a model that the vast majority of present-day personal computers emulate in terms of software. There is a great deal of system software, as well as basic input/output software (BIOS), that is written for the IBM PC and compatible machines. Therefore, a basic goal of most computer makers is to be compatible with an IBM PC, not requiring any changes to that software in order to incorporate new features.
But further, the hardware configuration of the IBM PC has similarly been mimicked. For example, virtually every IBM PC AT class machine incorporates an Intel Corporation 8042 keyboard controller or its equivalents, such as the 8741 or 8742. Although these keyboard controllers may be implemented in a variety of forms, they respond and interact with the system software similarly. It is through this 8042 keyboard controller that the power-on software determines whether a keyboard is present. Typically, the power-on software sends scan codes to the keyboard through the 8042 keyboard controller, expecting an appropriate response from the keyboard. If that response is not reported by the 8042 keyboard controller, then the system halts in its booting process.
But with the proliferation of configurations of personal computers, as well as the increasing power of the processors that run them, PC's have evolved to where a keyboard is not necessarily always a desirable feature. One example would be a "notepad" computer; another example would be a system server mounted in a rack. For the notepad computer, one may desire a keyboard, but one may simply instead use the stylus. For a rack-mounted server, it may be desirable only to have a keyboard when necessary to do server-level configuration, and to otherwise operate without the keyboard.
Therefore, it is desirable to allow the booting of computer systems without a keyboard attached. It is also desirable, however, to allow the plugging and unplugging of a keyboard dynamically--that is, while the system is in operation. Therefore, a system which seamlessly allows booting without a keyboard and plugging and unplugging of one or more keyboards is desirable.
It is further desirable to allow multiple keyboards to be installed in a system. An example would be the rack-mounted server. It could have a keyboard attachment in back for a permanent keyboard. Alternatively, it could have a front keyboard attachment for a technician to plug and unplug a keyboard as needed. But the ability to use both of these attachments is desirable.
A number of keyboard hot-plug and unplug systems have been attempted, but typically have not been seamlessly integrated such that a system could boot without a keyboard, a keyboard could be plugged in, and then data could be immediately entered. Referring to commonly assigned co-pending U.S. application Ser. No. 08/359,014, entitled "Personal Computer with Keyboard and Auxiliary Device Emulation," a keyboard plug and unplug system is shown for a notepad computer, but the computer must be first placed in a special mode before a newly installed keyboard can be used. It would be greatly desirable to have true transparent plug and unplug capability, yet simultaneously allow the booting of a keyboardless system.